<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/templates/masterLayout.xhtml">

	<ui:define name="title">
			USUARIO
	</ui:define>

	<ui:define name="content">

		<p:growl id="mensaje" showDetail="true" life="7000" />

		<p:panel id="panel" header="LISTADO DE USUARIOS"
			style="margin-bottom:10px;">

			<h:form id="busquedaTabla">
				<h:panelGrid columns="3">
					<h:outputText value="CÉDULA / APELLIDO / NOMBRE" />
					<p:inputText value="#{usuarioBean.criterioBusquedaUsuario}"
						onblur="this.value=this.value.toUpperCase();" />
					<p:commandButton update="busquedaTabla, :formDataTable, :mensaje"
						icon="#{msg['iconoBuscar']}"
						actionListener="#{usuarioBean.obtenerUsuarios}" />
				</h:panelGrid>
			</h:form>

			<h:form id="formDataTable">
				<p:focus context="formDataTable" />
				<p:dataTable id="tablaUsuarios" var="usuario"
					value="#{usuarioBean.listaUsuarios}" paginator="true" rows="10"
					styleClass="tablaUsuario" emptyMessage="#{msg['lbl.mensajeTabla']}"
					paginatorPosition="bottom"
					rowStyleClass="#{usuario.enabled eq true ? null:'desactivo'}">

					<p:column headerText="#{msg['lbl.gestionar']}" width="10%"
						style="text-align: center;">

						<p:tooltip for="btnMostrar" value="#{msg['lbl.mostrar']}" />
						<p:tooltip for="btnEditar" value="#{msg['lbl.editar']}" />

						<p:commandButton id="btnMostrar" update=":formMostrar"
							oncomplete="PF('usuarioDialogoMostrar').show()"
							icon="ui-icon-newwin">
							<f:setPropertyActionListener value="#{usuario}"
								target="#{usuarioBean.usuario}" />
						</p:commandButton>

						<p:commandButton id="btnEditar" update=":formEditar"
							oncomplete="PF('usuarioDialogoEditar').show()"
							icon="ui-icon-pencil">
							<f:setPropertyActionListener value="#{usuario}"
								target="#{usuarioBean.usuario}" />
						</p:commandButton>
					</p:column>

					<p:column headerText="NOMBRE" filterBy="#{usuario.nombre}">
            			#{usuario.nombre}  
        			</p:column>

					<p:column headerText="USUARIO" filterBy="#{usuario.login}"
						style="text-align:center;">  
            			#{usuario.login}  
        			</p:column>

					<p:column headerText="CONTRASEÑA">  
            			#{usuario.password}  
        			</p:column>

					<p:column headerText="ESTADO"
						style="text-align:center;width: 50px;">
						<p:selectBooleanCheckbox disabled="true"
							value="#{usuario.enabled}" />
					</p:column>
				</p:dataTable>
			</h:form>
		</p:panel>

		<h:form id="formMostrar">

			<p:dialog header="MOSTRAR USUARIO" widgetVar="usuarioDialogoMostrar"
				resizable="false" modal="false" showEffect="clip" hideEffect="fold"
				id="dialogoMostrar">

				<h:panelGrid id="panelMostrar" columns="2" cellpadding="8"
					style="width:100px">

					<h:outputText value="NOMBRE:" styleClass="negrita" />
					<h:outputText value="#{usuarioBean.usuario.nombre}" />

					<h:outputText value="USUARIO:" styleClass="negrita" />
					<h:outputText value="#{usuarioBean.usuario.login}" />

					<h:outputText value="CONTRASEÑA:" styleClass="negrita" />
					<p:outputLabel value="#{usuarioBean.usuario.password}"
						style="width:50px" />

					<h:outputText value="ROLES:" styleClass="negrita" />
					<p:dataTable id="tablaRol" var="rolUsuario"
						value="#{usuarioBean.usuario.rolusuarios}"
						rowStyleClass="#{rolUsuario.activo eq true ? null:'desactivo'}">

						<p:column headerText="NOMBRE">
							#{rolUsuario.rol.nombre}		
						</p:column>

						<p:column headerText="DESCRIPCIÓN">
							#{rolUsuario.rol.descripcion}		
						</p:column>


					</p:dataTable>

					<h:outputText value="ESTADO:" styleClass="negrita" />
					<p:selectBooleanCheckbox disabled="true"
						value="#{usuarioBean.usuario.enabled}" />

				</h:panelGrid>
			</p:dialog>
		</h:form>

		<p:dialog header="EDITAR USUARIO" widgetVar="usuarioDialogoEditar"
			resizable="false" modal="false" showEffect="clip" hideEffect="fold"
			id="dialogoEditar">

			<h:form id="formEditar">

				<p:focus context="formEditar" />

				<h:panelGrid id="panelEditar" columns="2" cellpadding="8">

					<h:outputText value="NOMBRE:" styleClass="negrita" />
					<h:outputText value="#{usuarioBean.usuario.nombre}" />

					<h:outputText value="USUARIO:" styleClass="negrita" />
					<h:outputText value="#{usuarioBean.usuario.login}" />

					<h:outputText value="CONTRASEÑA:" styleClass="negrita" />
					<p:inputText value="#{usuarioBean.claveNueva1}" />

					<h:outputText value="REPITA CONTRASEÑA:" styleClass="negrita" />
					<p:inputText value="#{usuarioBean.claveNueva2}" />

					<f:facet name="footer">
						<p:separator />
						<p:commandButton value="#{msg['btn.guardar']}"
							update=":formDataTable, :mensaje, formEditar"
							oncomplete="comprobar(xhr, status, args)"
							id="btnModificarAceptar"
							actionListener="#{usuarioBean.actualizar}" icon="ui-icon-check" />

						<p:commandButton value="#{msg['btn.cancelar']}"
							oncomplete="PF('usuarioDialogoEditar').hide()"
							id="btnModificarlimpiar" icon="ui-icon-close" />
					</f:facet>

				</h:panelGrid>
			</h:form>
		</p:dialog>

		<script type="text/javascript">
			//<![CDATA[
			function comprobar(xhr, status, args) {
				if (!args.validationFailed && args.error) {
					PF('usuarioDialogoEditar').hide();
				}
			}
			//]]>
		</script>
	</ui:define>
</ui:composition>
</html>